package main

import (
	"go_essential/database"
	product_router "go_essential/router/product"
	user_router "go_essential/router/user"
	"log"
	"os"

	"github.com/gin-gonic/gin"
	"github.com/spf13/viper"
)

func main() {
	log.Println("hello world")
	// 在项目启动之前读取配置文件
	// 一旦读取到以后，就可以在其他地方使用
	InitConfig()
	database.MySQLInit()
	database.RedisInit()
	r := gin.Default()
	user_router.UserRouterInit(r)
	product_router.ProductRouterInit(r)
	panic(r.Run(viper.GetString("server.port")))
}

func InitConfig() {
	// 获取文件路径
	workDir, _ := os.Getwd()
	// 设置配置文件名称
	viper.SetConfigName("application")
	// 设置文件类型（后缀名）
	viper.SetConfigType("yml")
	// 设置配置文件所在路径
	viper.AddConfigPath(workDir + "/config")
	// 读取文件
	err := viper.ReadInConfig()
	if err != nil {
		panic(err)
	}
}
